<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
    <TestRuntime>true</TestRuntime>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <!-- SYSLIB0013: Uri.EscapeUriString is obsolete
         SYSLIB0037: AssemblyName members HashAlgorithm, ProcessorArchitecture, and VersionCompatibility are obsolete. -->
    <NoWarn>$(NoWarn);SYSLIB0013;SYSLIB0037</NoWarn>

    <!-- these tests depend on the pdb files -->
    <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'browser'">true</DebuggerSupport>
  </PropertyGroup>
  <ItemGroup>
    <RdXmlFile Include="default.rd.xml" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="$(CommonTestPath)System\Reflection\MockParameterInfo.cs" Link="Common\System\Reflection\MockParameterInfo.cs" />
    <Compile Include="$(CommonTestPath)System\MockType.cs" Link="Common\System\MockType.cs" />
    <Compile Include="$(CommonTestPath)System\IO\TempFile.cs" Link="Common\System\IO\TempFile.cs" />
    <Compile Include="AssemblyNameTests.cs" />
    <Compile Include="AssemblyTests.cs" />
    <Compile Include="ConstructorCommonTests.cs" />
    <Compile Include="ConstructorInfoTests.cs" />
    <Compile Include="ConstructorInvokerTests.cs" />
    <Compile Include="CustomAttributeTests.cs" />
    <Compile Include="DefaultBinderTests.cs" />
    <Compile Include="EventInfoTests.cs" />
    <Compile Include="FieldInfoTests.cs" />
    <Compile Include="GetTypeTests.cs" />
    <Compile Include="ManifestResourceInfoTests.cs" />
    <Compile Include="MemberInfoTests.cs" />
    <Compile Include="MethodCommonTests.cs" />
    <Compile Include="MethodInfoTests.cs" />
    <Compile Include="MethodInvokerTests.cs" />
    <Compile Include="ModuleTests.cs" />
    <Compile Include="Common.cs" />
    <Compile Include="ParameterInfoTests.cs" />
    <Compile Include="PropertyInfoTests.cs" />
    <Compile Include="TypeDerivedTests.cs" />
    <Compile Include="TypeInfoTests.cs" />
    <Compile Include="ExceptionTests.cs" />
    <Compile Include="PointerTests.cs" />
    <Compile Include="TypeTests.Constraints.cs" />
    <Compile Include="TestAssembly\EquivalentValueType.cs" Link="EquivalentValueType.cs" />
  </ItemGroup>
  <ItemGroup>
    <EmbeddedResource Include="Resources\EmbeddedImage.png">
      <LogicalName>EmbeddedImage.png</LogicalName>
    </EmbeddedResource>
    <EmbeddedResource Include="Resources\EmbeddedImage.png">
      <LogicalName>System.Reflection.Tests.EmbeddedImage1.png</LogicalName>
    </EmbeddedResource>
    <EmbeddedResource Include="Resources\EmbeddedTextFile.txt">
      <LogicalName>EmbeddedTextFile.txt</LogicalName>
    </EmbeddedResource>
    <EmbeddedResource Include="Resources\EmbeddedTextFile.txt">
      <LogicalName>System.Reflection.Tests.EmbeddedTextFile1.txt</LogicalName>
    </EmbeddedResource>
    <EmbeddedResource Include="Resources\ResourceTextFile.txt">
      <LogicalName>ResourceTextFile.txt</LogicalName>
    </EmbeddedResource>
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="AssemblyVersion\System.Reflection.Tests.Assembly_0_0_0_0.csproj" />
    <ProjectReference Include="AssemblyVersion\System.Reflection.Tests.Assembly_1_0_0_0.csproj" />
    <ProjectReference Include="AssemblyVersion\System.Reflection.Tests.Assembly_1_1_0_0.csproj" />
    <ProjectReference Include="AssemblyVersion\System.Reflection.Tests.Assembly_1_1_1_0.csproj" />
    <ProjectReference Include="AssemblyVersion\System.Reflection.Tests.Assembly_1_1_1_2.csproj" />
    <ProjectReference Include="AssemblyVersion\System.Reflection.Tests.Assembly_1_1_1_3.csproj" />
    <ProjectReference Include="AssemblyVersion\System.Reflection.Tests.Assembly_1_1_2_0.csproj" />
    <ProjectReference Include="AssemblyVersion\System.Reflection.Tests.Assembly_1_1_3_0.csproj" />
    <ProjectReference Include="AssemblyVersion\System.Reflection.Tests.Assembly_1_2_0_0.csproj" />
    <ProjectReference Include="AssemblyVersion\System.Reflection.Tests.Assembly_1_3_0_0.csproj" />
    <ProjectReference Include="AssemblyVersion\System.Reflection.Tests.Assembly_3_0_0_0.csproj" />
    <ProjectReference Include="ForwardedTypesAssembly\ForwardedTypesAssembly.csproj" />
    <ProjectReference Include="UnloadableAssembly\UnloadableAssembly.csproj" />
    <ProjectReference Include="TestExe\System.Reflection.TestExe.csproj" />
    <ProjectReference Include="TestAssembly\TestAssembly.csproj" />
  </ItemGroup>
    <ItemGroup Condition="'$(TargetOS)' == 'browser'">
    <WasmFilesToIncludeFromPublishDir Include="$(AssemblyName).dll" />
    <WasmFilesToIncludeFromPublishDir Include="$(AssemblyName).pdb" />
  </ItemGroup>
  <ItemGroup>
    <TrimmerRootDescriptor Include="$(MSBuildThisFileDirectory)ILLink.Descriptors.xml" />

    <!-- Assemblies that should be excluded from the bundle -->
    <__ExcludeFromBundle Include="TestAssembly.dll" />
  </ItemGroup>
</Project>
